<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>

  <body>
    <script>
      // 数组降维
      // 写一个函数,接收一个数组作为参数,返回结果为已经降维的数组
      // 如下这个数组经过函数的处理侯得到[1,2,3,4,5]这个结果
      const arr = [1, [[2], [3, [4]], 5]]

      //解构
      // const [a,[[b],[c,[d]],e]] =arr
      // const res =[a,b,c,d,e]
      // console.log(res)

      // 数组flat方法
      // console.log(arr.flat(Infinity))
      
      // 递归
      const newArr = []
      function squeeze(arr) {
        arr.forEach((item) => {
          if (item instanceof Array) {
            squeeze(item)
          } else {
            newArr.push(item)
          }
        })
        return newArr
      }
      console.log(squeeze(arr))
    </script>
  </body>
</html>
